//linked_list.h: define all the methods and structs that a linked list needed


#ifndef NULL

#define NULL 0

#endif

#ifndef _Linked_List_H



typedef int ElementType;

struct Node;
typedef struct Node *PtrToNode;
typedef PtrToNode List;
typedef PtrToNode Position;

void FetalError(char *C);
List MakeEmpty(List L);
int IsEmpty(List L);
int IsLast(Position P,List L);
Position Find(ElementType X,List L);
void Delete(ElementType X, List L);
Position FindPrevious(ElementType X,List L);
void Insert(ElementType X,List L,Position P);
void DeleteList(List L);
Position Header(List L);
Position First(List L);
Position Advance(Position P);
ElementType Retrive(Position P);


#endif /*Linked_List_H*/ 

struct Node{
	ElementType Element;
	Position Next;
};